package cn.iocoder.an.module.mold.controller.admin.repairjob.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import jakarta.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

@Schema(description = "管理后台 - 模具维修任务新增/修改 Request VO")
@Data
public class RepairJobSaveReqVO {

    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "30860")
    private Long id;

    @Schema(description = "单号", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "单号不能为空")
    private String code;

    @Schema(description = "模具台账ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "6570")
    @NotNull(message = "模具台账ID不能为空")
    private Long accountId;

    @Schema(description = "维修分类Id", requiredMode = Schema.RequiredMode.REQUIRED, example = "4077")
    @NotNull(message = "维修分类Id不能为空")
    private Long repairCategoryId;

    @Schema(description = "故障分类Id", requiredMode = Schema.RequiredMode.REQUIRED, example = "16935")
    @NotNull(message = "故障分类Id不能为空")
    private Long faultId;

    @Schema(description = "申请人ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "16366")
    @NotNull(message = "申请人ID不能为空")
    private Long applicantId;

    @Schema(description = "申请部门", requiredMode = Schema.RequiredMode.REQUIRED, example = "21521")
    @NotNull(message = "申请部门不能为空")
    private Long departId;

    @Schema(description = "申请时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "申请时间不能为空")
    private LocalDateTime applicationTime;

    @Schema(description = "故障描述", example = "你猜")
    private String faultDescription;

    @Schema(description = "状态", example = "1")
    private Integer status;

}